/**
 * 点击轮播图放大预览
 * 
 * 2 点击  加入购物车
 *   先绑定 点击事件
 *   获取缓存中的购物车数据 数组格式
 *   先 判断 当前商品是否已经存在于 购物车
 *   已经存在 修改商品数据 购物车数据++ 重新把购物车数组 填充倒缓存中
 *   不存在于 购物车中 直接再购物车中添加一个元素 加上购买数量num
 */
import { request } from "../../request/index.js";
// pages/goods_detail/index.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    goods_id: 0,
    goods_detail:{},
    cartNum:0
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    console.log(options)
    this.setData({
      goods_id: options.goods_id,
      cartNum: wx.getStorageSync("cartNum")||0
    })
    this.getgoodsDetail()
    
  },
  /**
   * 请求商品详情数据
   */
  async getgoodsDetail(){
    const result= await request({url:'/goods/detail',data:{goods_id:this.data.goods_id}})
    const goods = result.data.message
    this.setData({
      goods_detail:{
        goods_id:this.data.goods_id,
        pics: goods.pics,
        goods_name:goods.goods_name,
        goods_price:goods.goods_price,
        goods_introduce:goods.goods_introduce
      }
    })
  },
  /**
   * 轮播u点击 预览图片 事件
   */
  handleViewImage(e){
    const urls= this.data.goods_detail.pics.map(v=>v.pics_mid)
    const current = e.currentTarget.dataset.url
    wx.previewImage({
      current: current,
      urls: urls,
    });
  },
  /**
   * 点击 加入购物车选项
   */
  handleCartAdd(){
    // 获取缓存数据
    var cart = wx.getStorageSync("cart")||[];
    // 获取购物车商品数量 并赋值
    var Num = wx.getStorageSync("cartNum")
    wx.setStorageSync("cartNum",++Num)
    this.setData({
      cartNum:wx.getStorageSync("cartNum")
    })
    // 判断购物车中是否有 当前商品 返回索引
    let index = cart.findIndex(v=>v.goods_id===this.data.goods_id)
    if(index===-1) {
      // 购物车中没有 当前商品
      var goods = {
        num:1,
        checked:true,
        goods_id:this.data.goods_id,
        pics: this.data.goods_detail.pics,
        goods_name:this.data.goods_detail.goods_name,
        goods_price:this.data.goods_detail.goods_price
      }
      cart.push(goods)
    } else {
      // 购物车中 有当前商品
      cart[index].num++
    }
    wx.setStorageSync("cart",cart)
    // 防抖动
    wx.showToast({
      title: '加入成功',
      icon: 'success',
      mask: true
    });
  },
  /**
   * 收藏 事件
   */
  handleFavor(e){
    const {detail} = e.currentTarget.dataset
    console.log(e)
    let foots=wx.getStorageSync('foots')
    let list = foots[1].list||[]
    list.push(detail)
    foots[1].list = list
    wx.setStorageSync('foots', foots);
      
  }
})